package com.legendshop.openportal.sdk.model.constants;

import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 账户类型枚举
 *
 * @author 27158
 */
@Getter
@AllArgsConstructor
public enum AccountTypeEnum {

    /**
     * 微信unionId
     */
    WX_UNION("WX_UNION", "微信"),

    /**
     * 手机号
     */
    MOBILE("MOBILE", "手机号"),

    /**
     * 用户ID
     * 使用 ID
     */
    @Deprecated
    USER_ID("USER_ID", "用户ID"),

    /**
     * 主键ID
     */
    ID("ID", "主键ID"),

    ;
    /**
     * 类型
     */
    private final String value;

    /**
     * 类型名称
     */
    private final String name;

    public static AccountTypeEnum fromValue(String value) {
        if (StrUtil.isBlank(value)) {
            return null;
        }

        for (AccountTypeEnum accountTypeEnum : AccountTypeEnum.values()) {
            if (accountTypeEnum.getValue().equals(value)) {
                return accountTypeEnum;
            }
        }
        return null;
    }

}
